package org.lanyu.springainovel.novel.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

/**
 * 书籍实体类
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("book")
public class Book {

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 书名
     */
    @TableField("title")
    private String title;

    /**
     * 题材,多个题材逗号分隔
     */
    @TableField("genre")
    private String genre;

    /**
     * 灵感
     */
    @TableField("inspiration")
    private String inspiration;

    /**
     * 书籍简介
     */
    @TableField("description")
    private String description;

    /**
     * 是否有卷：0-无卷（短篇），1-有卷（长篇）
     */
    @TableField("has_volumes")
    private Integer hasVolumes;

    /**
     * 封面图片URL
     */
    @TableField("cover_image")
    private String coverImage;

    /**
     * 用户ID
     */
    @TableField("user_id")
    private Long userId;

    /**
     * 状态：0-草稿，1-大纲生成中，2-大纲已完成，3-章节生成中，4-已完成
     */
    @TableField("status")
    private Integer status;

    /**
     * 创建时间
     */
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;
}